home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / ddj9304.zip / WAVELET.ZIP / WAVEDATA.S < prev   
Text File  |  1992-02-04  |  4KB  |  153 lines

  1. /* WAVEDATA.S */
  2. #include "dsp_type.h"
  3. #if DSP32
  4. #include "dspregs.h"
  5. #endif
  6.  
  7. .global WAVEADRS, WAVELVLS, IMAGSHOW, LVLADDRS
  8. .global SIG_DRAW, DRAW_CNT, H_FILTER, L_FILTER
  9. .global RST_DATA, IM0_PTRS, IM1_PTRS, IMAGE_0
  10. .global STACKEND, SIGNALIN, DATA_OUT
  11.  
  12. .align 4
  13. WAVEADRS: int24 0;       /* jump address for wavelet filter length */
  14. WAVEINDX: int24 0;       /* wrap back index for wavelet filter length */
  15. WAVELVLS: int   6, 1625; /* number of levels, clear loop counter */
  16. IMAGSHOW: int   8, 0;    /* unit interval count, active image pointer */
  17. LVLADDRS: int24 SIGNALIN, APPROX_5; /* data pointer storage for level 5 */
  18.  
  19.           int24 APPROX_5, APPROX_4; /* data pointer storage for level 4 */
  20.  
  21.           int24 APPROX_4, APPROX_3; /* data pointer storage for level 3 */
  22.  
  23.           int24 APPROX_3, APPROX_2; /* data pointer storage for level 2 */
  24.  
  25.           int24 APPROX_2, APPROX_1; /* data pointer storage for level 1 */
  26.  
  27.           int24 APPROX_1, 0;        /* data pointer storage for level 0 */
  28.  
  29. .align 4
  30. SIG_DRAW: float 0.0, 24.0, 48.0, 0.0; /* scaling and offset coefficients */
  31.           int   0, 64;                /* temp storage, row increment */
  32.           int   1536, 0;              /* baseline value, bit pointer */
  33.           int24 0;                    /* byte column pointer */
  34. .align 4
  35.           float 0.0, 24.0, 48.0, 0.0;
  36.           int   0, 32;
  37.           int   768, 0;
  38.           int24 0;
  39. .align 4
  40.           float 0.0, 24.0, 48.0, 0.0;
  41.           int   0, 16;
  42.           int   384, 0;
  43.           int24 0;
  44. .align 4
  45.           float 0.0, 24.0, 48.0, 0.0;
  46.           int   0, 8;
  47.           int   192, 0;
  48.           int24 0;
  49. .align 4
  50.           float 0.0, 24.0, 48.0, 0.0;
  51.           int   0, 4;
  52.           int   96, 0;
  53.           int24 0;
  54. .align 4
  55.           float 0.0, 24.0, 48.0, 0.0;
  56.           int   0, 2;
  57.           int   48, 0;
  58.           int24 0;
  59. .align 4
  60.           float 0.0, 24.0, 48.0, 0.0;
  61.           int   0, 2;
  62.           int   48, 0;
  63.           int24 0;
  64. .align 4
  65.           float 0.0, 24.0, 48.0, 0.0;
  66.           int   0, 2;
  67.           int   48, 0;
  68.           int24 0;
  69.  
  70. DRAW_CNT: byte 6, 4, 3, 2, 1, 0;
  71.  
  72. .align 4
  73. H_FILTER: 6*float 0.0; /* highpass wavelet filter storage allocation */
  74.  
  75. L_FILTER: 6*float 0.0; /* lowpass wavelet filter storage allocation */
  76.  
  77. /* image pointer reset initialization data */
  78. RST_DATA: int24 0x02; /* position of first pixel in unit interval at reset */
  79.           int24 IM0INITS; /* 00 00 00 00 00 00 00 01 */
  80.  
  81.           int24 0x01, IM0INIT5; /* 00 00 00 01 */
  82.  
  83.           int24 0x01, IM0INIT4; /* 00 01 */
  84.  
  85.           int24 0x01, IM0_LVL3; /* 01 */
  86.  
  87.           int24 0x10, IM0_LVL2; /* 10 */
  88.  
  89.           int24 0x40, IM0_LVL1; /* 40 */
  90.  
  91.           int24 0x80, IM0_LVL0; /* 80 */
  92.  
  93.           int24 0x80, IM0_LVLA; /* 80 */
  94.  
  95. /* image pointer switch initialization data */
  96. IM0_PTRS: int24 IM0SIGNL, IM0_LVL5, IM0_LVL4, IM0_LVL3;
  97.           int24 IM0_LVL2, IM0_LVL1, IM0_LVL0, IM0_LVLA;
  98.  
  99. IM1_PTRS: int24 IM1SIGNL, IM1_LVL5, IM1_LVL4, IM1_LVL3;
  100.           int24 IM1_LVL2, IM1_LVL1, IM1_LVL0, IM1_LVLA;
  101.  
  102. /* IMAGE 0 storage allocation */
  103. IMAGE_0:
  104. IM0SIGNL: 7*byte 0;
  105. IM0INITS: 3193*byte 0;
  106.  
  107. IM0_LVL5: 3*byte 0;
  108. IM0INIT5: 1597*byte 0;
  109.  
  110. IM0_LVL4: byte 0;
  111. IM0INIT4: 799*byte 0;
  112.  
  113. IM0_LVL3: 400*byte 0;
  114.  
  115. IM0_LVL2: 200*byte 0;
  116.  
  117. IM0_LVL1: 100*byte 0;
  118.  
  119. IM0_LVL0: 100*byte 0;
  120.  
  121. IM0_LVLA: 100*byte 0;
  122.  
  123. /* IMAGE 1 storage allocation */
  124. IM1SIGNL: 3200*byte 0;
  125.  
  126. IM1_LVL5: 1600*byte 0;
  127.  
  128. IM1_LVL4: 800*byte 0;
  129.  
  130. IM1_LVL3: 400*byte 0;
  131.  
  132. IM1_LVL2: 200*byte 0;
  133.  
  134. IM1_LVL1: 100*byte 0;
  135.  
  136. IM1_LVL0: 100*byte 0;
  137.  
  138. IM1_LVLA: 100*byte 0;
  139.  
  140. .align 2
  141. STACKBSE: 31*int24 0; /* subroutine stack storage allocation */
  142. STACKEND: int24 0;
  143.  
  144. .rsect ".hi_ram"
  145. SIGNALIN: 6*float 0.0; /* approximation data storage allocation */
  146. APPROX_5: 6*float 0.0;
  147. APPROX_4: 6*float 0.0;
  148. APPROX_3: 6*float 0.0;
  149. APPROX_2: 6*float 0.0;
  150. APPROX_1: 6*float 0.0;
  151. DATA_OUT: 9*float 0.0; /* output data storage allocation */
  152.  
  153.